package com.css.fxfzmh.base.dict.repository;

import com.css.fxfzmh.base.dict.repository.entity.DictItemEntity;
import com.css.fxfzmh.base.dict.viewobjects.DictItemQueryParams;
import org.springframework.data.domain.Page;

import java.util.List;

public interface DictItemRepository {
    Page<DictItemEntity> queryDictItems(DictItemQueryParams queryParams, int curPage, int pageSize);

    void saveDictItem(DictItemEntity itemEntity);

    String findDictCodeByDictItemId(String dictItemId);

    DictItemEntity findById(String id);

    void delete(List<String> ids);

    DictItemEntity findOneByDictItemCodeAndDictId(String dictItemCode, String dictId);

    List<DictItemEntity> findAllById(List<String> ids);

    List<String> findDictCodeByDictItemIds(List<String> ids);

    DictItemEntity findDictItemByDictCodeAndDictItemCode(String dictCode, String dictItemCode);

    DictItemEntity findValidDictItemByDictCodeAndDictItemCode(String dictCode, String dictItemCode);

    DictItemEntity findValidDictItemByDictCodeAndDictItemName(String dictCode, String dictItemName);

    List<DictItemEntity> findDictItemsByDictCode(String code);

    List<DictItemEntity> findValidDictItemsByDictCode(String code);

    void deleteByDictIds(List<String> dictIds);

    List<DictItemEntity> findDictItemByDictId(List<String> dictIds);

    List<DictItemEntity> findAll();

    List<DictItemEntity> findDictItemByDictDirId(List<String> ids);

    String getValueByDictCodeAndKey(String code, String key);

    Object getKeyByDictCodeAndValue(String code, String value);
}
